package br.com.paradigmas.modulos.cadastros.pais;

import java.util.Scanner;

import br.com.paradigmas.persistencia.om.Pais;
import br.com.paradigmas.utils.BDConstantes;

public class CadastroPais
{
	Scanner scanner = new Scanner(System.in);
	String captura = null;
	public Pais criarPais()
	{
		try 
		{
			Pais pais = new Pais();
			
			System.out.println("Digite o nome do pais: ");
			captura = scanner.next();
			
			pais.setNome(captura);
			pais.setSigla(this.setSigla(pais.getNome()));
			
			return pais;
		} 
		catch (Exception e) 
		{ e.printStackTrace(); }
		return null;
	}
	
	/**
	 * Cadastra um novo Pais
	 * 
	 * @author Djalma
	 * @param pkPais
	 * @param nome
	 * @return pais
	 */
	public Pais setPais(Long pkPais, String nome)
	{
		return new Pais(pkPais, nome, setSigla(nome), BDConstantes.STATUS_ATIVO);
	}
	
	/**
	 * Determina a SIGLA (<= 3 caracteres) do Pais
	 * 
	 * @author Djalma
	 * @param nome
	 * @return sigla
	 */
	private String setSigla(String nome)
	{
		if(nome.length() <= 3)
		{
			return nome;
		}
		else if(nome.contains(" "))
		{
			String[] nomeComposto = nome.split(" ");
			nome = "";
			
			if(nomeComposto.length < 3)
			{
				for (int i = 0; i < nomeComposto.length; i++) 
				{
					nome += nomeComposto[i].substring(0, i+1);
				}
			}
			else
			{
				for (int i = 0; i < 3; i++)
				{
					nome += nomeComposto[i].charAt(0);
				}
			}
			
			return nome;
		}
		else
		{
			return nome.substring(0, 3);
		}
	}
}
